/**
 * 是否登录。小程序类为自动登录，无需判断。
 * 根据不同项目情况而定
 */
function isLogin() {
	//判断Token
	let token = uni.getStorageSync("token")
	if (!token) {
		//未登录处理
		// common.navigateTo("/pages/login/login")
		return false
	}

	//判断用户信息
	let userInfo = uni.$user.getUserInfo()
	if (userInfo == null) {
		//未登录处理
		// common.navigateTo("/pages/login/login")
		return false
	}
	//判断手机号或昵称
	if (uni.$common.isBlank(userInfo.phone) || uni.$common.isBlank(userInfo.nickName)) {
		//未登录处理
		// common.navigateTo("/pages/login/login")
		return false
	}

	return true
}

/**
 * 登录
 */
function login(event) {
	//#ifdef MP-WEIXIN
	console.info("微信登录")
	 loginByMpWeixin(event)//自动登录
	//loginByMpWeixinPhoneToNavigaterToLogin(event)//手机号登录
	//#endif
	
	//#ifdef APP-PLUS
	console.info("App登录")
	loginByApp(event)
	//#endif
}

/**
 * 微信小程序登录
 * @param {Object} event 登录成功回调
 */
function loginByMpWeixin(event) {
	uni.login({
		provider: "weixin",
		success: res => {
			// 发送 res.code 到后台换取 openId, sessionKey, unionId
			if (res.code) {
				uni.$api.userLogin({
					code: res.code,
				}).then((data) => {
					uni.setStorageSync('token', data)


					uni.$api.userFindUserInfo().then((infoData) => {
						uni.setStorageSync('userInfo', infoData)
						event(true)
					})
				})
			}
		},
		fail: (e) => {
			console.info("登录失败", e)
			event(false);
		}
	})
}

/**
 * 微信小程序手机号登录
 * @param {Object} event 登录成功回调
 */
function loginByMpWeixinPhoneToNavigaterToLogin(event) {
	uni.$common.modalInfo("您还没有登录，请先登录",()=>{
		//这里跳转到登录页
		uni.$common.navigateTo("/subpkg/commons/login/login")
	},()=>{})
}

/**
 * 微信小程序手机号登录
 * @param {Object} event 登录成功回调
 */
function loginByMpWeixinPhone(phoneCode,event) {
	uni.login({
		provider: "weixin",
		success: res => {
			// 发送 res.code 到后台换取 openId, sessionKey, unionId
			if (res.code) {
				uni.$api.userLoginPhone({
					loginCode: res.code,
					phoneCode: phoneCode
				}).then((data) => {
					uni.setStorageSync('token', data)
					uni.$api.userFindUserInfo().then((infoData) => {
						uni.setStorageSync('userInfo', infoData)
						event(true)
					})
				})
			}
		},
		fail: (e) => {
			console.info("登录失败", e)
			event(false);
		}
	})
}

/**
 * App登录
 * @param {Object} event 登录成功回调
 */
function loginByApp(event) {
	uni.$common.modalInfo("您还没有登录，请先登录",()=>{
		//这里跳转到登录页
		// common.navigateTo("/pages/login/login")
	},()=>{})
}

export default {
	isLogin: isLogin,
	login: login,
	loginByMpWeixinPhone:loginByMpWeixinPhone,
	loginByMpWeixin: loginByMpWeixin
	
}